package com.ztgf.order.models.service;

import com.baomidou.mybatisplus.service.IService;
import com.ztgf.common.constant.Result;
import com.ztgf.order.models.bo.LogisticsEditBO;
import com.ztgf.order.models.bo.OrderAfterShipSaveBO;
import com.ztgf.order.models.dto.OrderAfterShipDTO;

import java.util.List;

/**
 * author: chenyu.wang
 * date: 2020-06-30 16:20
 * Description:
 */
public interface IOrderAfterShipService extends IService<OrderAfterShipDTO> {

    /**
     * description: 售后订单发货
     * param: [bo]
     * author: chenyu.wang
     * date: 2020-06-30
     * return: boolean
     */
    Result<List<String>> addOrderShip(OrderAfterShipSaveBO bo);

    Result saveOrderShip(OrderAfterShipSaveBO bo);

    /**
     * description: 根据订单id查询
     * param: [orderId]
     * author: chenyu.wang
     * date: 2020-06-29
     * return: com.ztgf.order.models.dto.OrderShipDTO
     */
    OrderAfterShipDTO getByOrderId(Long orderId);

    /**
     * description: 根据订单id查询售后发货信息
     * param: [orderId]
     * author: chenyu.wang
     * date: 2020-07-27
     * return: java.util.List<com.ztgf.order.models.dto.OrderAfterShipDTO>
     */
    List<OrderAfterShipDTO> getListByOrderId(Long orderId);

    /**
     * description: 根据id查询
     * param: [id]
     * author: chenyu.wang
     * date: 2020-07-27
     * return: com.ztgf.order.models.dto.OrderAfterShipDTO
     */
    OrderAfterShipDTO queryById(Long id);

    Result updateLogistics(LogisticsEditBO saveBO);
}
